In a digital communication system, binary information is conveyed from one device to another through a variety of channels and recovered at a receiving end. The electronics which receive the binary information also receive varying amounts of noise and distortion which degrade the quality of the signal. This can be the result of a variety of physical phenomena, such as interference from adjacent similar transmitters or receivers, thermal noise present in the receiving device electronics, meteorological phenomena, or numerous other sources. In most communication systems, provisions are made to minimize the impact of degradations on the received signal.
There are several approaches taken to minimize the effect of noise present in a received signal. A typical approach is to increase the power of the transmitter. This increases the ratio of the received signal strength relative to the noise present at the receiving end. Though effective, this technique increases the resources needed at the transmitting end of the communication system. In some communication systems, an increase in required transmitter power can vastly increase the cost of operating the system.
Another approach toward minimizing the effects noise and distortions present in a received signal is to decrease the rate at which information is conveyed from the transmitter to the receiver. This is effective since it increases the time allotted to the receiver to make a decision as to the state of each binary digit. This technique has the obvious disadvantage of reducing the speed of the information transfer within the communication system.
A better technique of minimizing the effect of noise and distortions present at the receiving end is to encode the binary information at the transmitter using an error control code. Through the use of an error control code, the transmitted information is encoded through the addition of error control information according to various techniques in order to become more resistant to the effects of noise. At the receiver, these error control binary digits are manipulated in order to correct errors in the information binary digits. Generally, the more error control binary digits that are added at the transmitter, the more robust the error correction capability of the error control code and therefore the more resistant the code is to the effects of noise at the receiving end of the communication system. However, as error control binary digits are added, they consume a larger and larger percentage of the available channel bandwidth.
A disadvantage of many error control codes is that although they provide acceptable performance in moderate noise environments, they are incapable of performing in severe noise environments. In these environments, a larger and larger percentage of the available bandwidth is consumed by the error control binary digits. Convolutional error control codes provide satisfactory operation in moderate noise environments without consuming a large amount of channel bandwidth. In more severe noise environments, concatenating more than one convolutional error control code and arranging the encoders along parallel data paths can improve performance. However, these techniques require significant channel bandwidth to be effective due to the additional error control binary digits added by the concatenated convolutional code.
Therefore, what is needed is a method and apparatus for encoding and decoding binary information using a highly noise resistant code that will consume only a small portion of the channel bandwidth.